/**
 * 
 */
package com.sw.character.flyweight;

import com.sw.common.GlobalConsts;

/**
 * @author Donald
 */
public final class SWCharacter {
	/** the unique reference id. */
	private int refId;
	/** the true Charisma attribute, without modifications applied. */
	private int		attrCharisma;
	/** the true Constitution attribute, without modifications applied. */
	private int		attrConstitution;
	/** the true Dexterity attribute, without modifications applied. */
	private int		attrDexterity;
	/** the true Intelligence attribute, without modifications applied. */
	private int		attrIntelligence;
	/** the true Life attribute, without modifications applied. */
	private int		attrLife;
	/** the true MaxLife attribute, without modifications applied. */
	private int		attrMaxLife;
	/** the true Strength attribute, without modifications applied. */
	private int		attrStrength;
	/** the true Wisdom attribute, without modifications applied. */
	private int		attrWisdom;
	/** the full Charisma attribute, including modifications. */
	private int		fullAttrCharisma;
	/** the full Constitution attribute, including modifications. */
	private int		fullAttrConstitution;
	/** the full Dexterity attribute, including modifications. */
	private int		fullAttrDexterity;
	/** the full Intelligence attribute, including modifications. */
	private int		fullAttrIntelligence;
	/** the full Strength attribute, including modifications. */
	private int		fullAttrStrength;
	/** the full Wisdom attribute, including modifications. */
	private int		fullAttrWisdom;
	/** the full value of the Life attribute, with modifications applied. */
	private int		fullLife;
	/** the full value of the MaxLife attribute, with modifications applied. */
	private int		fullMaxLife;
	private int		fullSavingThrow;
	/** the character's level. */
	private char	level;
	/** the value of any modifications applied to the Charisma attribute. */
	private int		modAttrCharisma;
	/** the value of any modifications applied to the Constitution attribute. */
	private int		modAttrConstitution;
	/** the value of any modifications applied to the Dexterity attribute. */
	private int		modAttrDexterity;
	/** the value of any modifications applied to the Intelligence attribute. */
	private int		modAttrIntelligence;
	/** the value of any modifications applied to the Strength attribute. */
	private int		modAttrStrength;
	/** the value of any modifications applied to the Wisdom attribute. */
	private int		modAttrWisdom;
	/** the value of all modifications applied to the Life attribute. */
	private int		modLife;
	/** the value of all modifications applied to the MaxLife attribute. */
	private int		modMaxLife;
	private int		modSavingThrow;
	/** the name. */
	private byte[]	name;
	/** the character's profession. */
	private int		profession;
	/** the character's race. */
	private int		race;
	private int		savingThrow;
	private byte[]	savingThrowBonuses	= new byte[GlobalConsts.MAX_SAVING_THROW_TYPES];
	/** the character's experience points. */
	private int		xp;
	/**
	 * Gets the true Charisma attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrCharisma() {
		return attrCharisma;
	}
	/**
	 * Gets the true Constitution attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrConstitution() {
		return attrConstitution;
	}
	/**
	 * Gets the true Dexterity attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrDexterity() {
		return attrDexterity;
	}
	/**
	 * Gets the true Intelligence attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrIntelligence() {
		return attrIntelligence;
	}
	/**
	 * Gets the true Life attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrLife() {
		return attrLife;
	}
	/**
	 * Gets the true MaxLife attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrMaxLife() {
		return attrMaxLife;
	}
	/**
	 * Gets the true Strength attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrStrength() {
		return attrStrength;
	}
	/**
	 * Gets the true Wisdom attribute, without modifications applied.
	 * @return int
	 */
	public int getAttrWisdom() {
		return attrWisdom;
	}
	/**
	 * Gets the full Charisma attribute, including modifications.
	 * @return int
	 */
	public int getFullAttrCharisma() {
		return fullAttrCharisma;
	}
	/**
	 * Gets the full Constitution attribute, including modifications.
	 * @return int
	 */
	public int getFullAttrConstitution() {
		return fullAttrConstitution;
	}
	/**
	 * Gets the full Dexterity attribute, including modifications.
	 * @return int
	 */
	public int getFullAttrDexterity() {
		return fullAttrDexterity;
	}
	/**
	 * Gets the full Intelligence attribute, including modifications.
	 * @return int
	 */
	public int getFullAttrIntelligence() {
		return fullAttrIntelligence;
	}
	/**
	 * Gets the full Strength attribute, including modifications.
	 * @return int
	 */
	public int getFullAttrStrength() {
		return fullAttrStrength;
	}
	/**
	 * Gets the full Wisdom attribute, including modifications.
	 * @return int
	 */
	public int getFullAttrWisdom() {
		return fullAttrWisdom;
	}
	/**
	 * Gets the full value of the Life attribute, with modifications applied.
	 * @return int
	 */
	public int getFullLife() {
		return fullLife;
	}
	/**
	 * Gets the full value of the MaxLife attribute, with modifications applied.
	 * @return int
	 */
	public int getFullMaxLife() {
		return fullMaxLife;
	}
	/**
	 * Gets the character's level.
	 * @return char
	 */
	public char getLevel() {
		return level;
	}
	/**
	 * Gets the value of any modifications applied to the Charisma attribute.
	 * @return int
	 */
	public int getModAttrCharisma() {
		return modAttrCharisma;
	}
	/**
	 * Gets the value of any modifications applied to the Constitution
	 * attribute.
	 * @return int
	 */
	public int getModAttrConstitution() {
		return modAttrConstitution;
	}
	/**
	 * Gets the value of any modifications applied to the Dexterity attribute.
	 * @return int
	 */
	public int getModAttrDexterity() {
		return modAttrDexterity;
	}
	/**
	 * Gets the value of any modifications applied to the Intelligence
	 * attribute.
	 * @return int
	 */
	public int getModAttrIntelligence() {
		return modAttrIntelligence;
	}
	/**
	 * Gets the value of any modifications applied to the Strength attribute.
	 * @return int
	 */
	public int getModAttrStrength() {
		return modAttrStrength;
	}
	/**
	 * Gets the value of any modifications applied to the Wisdom attribute.
	 * @return int
	 */
	public int getModAttrWisdom() {
		return modAttrWisdom;
	}
	/**
	 * Gets the value of all modifications applied to the Life attribute.
	 * @return int
	 */
	public int getModLife() {
		return modLife;
	}
	/**
	 * Gets the value of all modifications applied to the MaxLife attribute.
	 * @return int
	 */
	public int getModMaxLife() {
		return modMaxLife;
	}
	/**
	 * Gets the character's profession.
	 * @return int
	 */
	public int getProfession() {
		return profession;
	}
	/**
	 * Gets the character's race.
	 * @return int
	 */
	public int getRace() {
		return race;
	}
	/**
	 * Gets character's experience points.
	 * @return int
	 */
	public int getXp() {
		return xp;
	}
	/**
	 * Sets the true Charisma attribute value.
	 * @param val the new value
	 */
	public void setAttrCharisma(final int val) {
		attrCharisma = val;
	}
	/**
	 * Sets the true Constitution attribute value.
	 * @param val the new value
	 */
	public void setAttrConstitution(final int val) {
		attrConstitution = val;
	}
	/**
	 * Sets the true Dexterity attribute value.
	 * @param val the new value
	 */
	public void setAttrDexterity(final int val) {
		attrDexterity = val;
	}
	/**
	 * Sets the true Intelligence attribute value.
	 * @param val the new value
	 */
	public void setAttrIntelligence(final int val) {
		attrIntelligence = val;
	}
	/**
	 * Sets the true Life attribute value.
	 * @param val the new value
	 */
	public void setAttrLife(final int val) {
		attrLife = val;
	}
	/**
	 * Sets the true MaxLife attribute value.
	 * @param val the new value
	 */
	public void setAttrMaxLife(final int val) {
		attrMaxLife = val;
	}
	/**
	 * Sets the true Strength attribute value.
	 * @param val the new value
	 */
	public void setAttrStrength(final int val) {
		attrStrength = val;
	}
	/**
	 * Sets the true Wisdom attribute value.
	 * @param val the new value
	 */
	public void setAttrWisdom(final int val) {
		attrWisdom = val;
	}
	/**
	 * Sets the full Charisma attribute, including modifications.
	 * @param val the new value
	 */
	public void setFullAttrCharisma(final int val) {
		fullAttrCharisma = val;
	}
	/**
	 * Sets the full Constitution attribute, including modifications.
	 * @param val the new value
	 */
	public void setFullAttrConstitution(final int val) {
		fullAttrConstitution = val;
	}
	/**
	 * Sets the full Dexterity attribute, including modifications.
	 * @param val the new value
	 */
	public void setFullAttrDexterity(final int val) {
		fullAttrDexterity = val;
	}
	/**
	 * Sets the full Intelligence attribute, including modifications.
	 * @param val the new value
	 */
	public void setFullAttrIntelligence(final int val) {
		fullAttrIntelligence = val;
	}
	/**
	 * Sets the full Strength attribute, including modifications.
	 * @param val the new value
	 */
	public void setFullAttrStrength(final int val) {
		fullAttrStrength = val;
	}
	/**
	 * Sets the full Wisdom attribute, including modifications.
	 * @param val the new value
	 */
	public void setFullAttrWisdom(final int val) {
		fullAttrWisdom = val;
	}
	/**
	 * Sets the full value of the Life attribute, with modifications applied.
	 * @param val the new value
	 */
	public void setFullLife(final int val) {
		fullLife = val;
	}
	/**
	 * Sets the full value of the MaxLife attribute, with modifications applied.
	 * @param val the new value
	 */
	public void setFullMaxLife(final int val) {
		fullMaxLife = val;
	}
	/**
	 * Sets the character's profession.
	 * @param val the new value
	 */
	public void setLevel(final char val) {
		level = val;
	}
	/**
	 * Sets the value of any modifications applied to the Charisma attribute.
	 * @param val the new value
	 */
	public void setModAttrCharisma(final int val) {
		modAttrCharisma = val;
	}
	/**
	 * Sets the value of any modifications applied to the Constitution
	 * attribute.
	 * @param val the new value
	 */
	public void setModAttrConstitution(final int val) {
		modAttrConstitution = val;
	}
	/**
	 * Sets the value of any modifications applied to the Dexterity attribute.
	 * @param val the new value
	 */
	public void setModAttrDexterity(final int val) {
		modAttrDexterity = val;
	}
	/**
	 * Sets the value of any modifications applied to the Intelligence
	 * attribute.
	 * @param val the new value
	 */
	public void setModAttrIntelligence(final int val) {
		modAttrIntelligence = val;
	}
	/**
	 * Sets the value of any modifications applied to the Strength attribute.
	 * @param val the new value
	 */
	public void setModAttrStrength(final int val) {
		modAttrStrength = val;
	}
	/**
	 * Sets the value of any modifications applied to the Wisdom attribute.
	 * @param val the new value
	 */
	public void setModAttrWisdom(final int val) {
		modAttrWisdom = val;
	}
	/**
	 * Sets the value of all modifications applied to the Life attribute.
	 * @param val the new value
	 */
	public void setModLife(final int val) {
		modLife = val;
	}
	/**
	 * Sets the value of all modifications applied to the MaxLife attribute.
	 * @param val the new value
	 */
	public void setModMaxLife(final int val) {
		modMaxLife = val;
	}
	/**
	 * Sets the character's profession.
	 * @param val the new value
	 */
	public void setProfession(final int val) {
		profession = val;
	}
	/**
	 * Sets the character's race.
	 * @param val the new value
	 */
	public void setRace(final int val) {
		race = val;
	}
	/**
	 * Sets character's experience points.
	 * @param val the new value
	 */
	public void setXp(final int val) {
		xp = val;
	}
}
